home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / full / jbuild / setup / JBuilder / jsamples.z / buttons.jar / sunw / demo / buttons / ExternalizableButton.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-06-04  |  2.0 KB  |  79 lines

  1. package sunw.demo.buttons;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Font;
  6. import java.awt.Rectangle;
  7. import java.io.Externalizable;
  8. import java.io.IOException;
  9. import java.io.ObjectInput;
  10. import java.io.ObjectOutput;
  11.  
  12. public class ExternalizableButton extends ExplicitButton implements Externalizable {
  13.    private static final int currentMagic = -1431655766;
  14.  
  15.    public void writeExternal(ObjectOutput var1) throws IOException {
  16.       var1.writeInt(-1431655766);
  17.       Rectangle var2 = ((Component)this).getBounds();
  18.       var1.writeInt(var2.x);
  19.       var1.writeInt(var2.y);
  20.       var1.writeInt(var2.width);
  21.       var1.writeInt(var2.height);
  22.       var1.writeUTF(((OurButton)this).getLabel());
  23.       Color var3 = ((Component)this).getBackground();
  24.       if (var3 == null) {
  25.          var1.writeInt(0);
  26.       } else {
  27.          var1.writeInt(var3.getRGB());
  28.       }
  29.  
  30.       Color var4 = ((Component)this).getForeground();
  31.       if (var4 == null) {
  32.          var1.writeInt(0);
  33.       } else {
  34.          var1.writeInt(var4.getRGB());
  35.       }
  36.  
  37.       Font var5 = ((Component)this).getFont();
  38.       if (var5 == null) {
  39.          var1.writeInt(-1);
  40.       } else {
  41.          var1.writeInt(var5.getStyle());
  42.          var1.writeInt(var5.getSize());
  43.          var1.writeUTF(var5.getName());
  44.       }
  45.    }
  46.  
  47.    public void readExternal(ObjectInput var1) throws IOException, ClassNotFoundException {
  48.       int var2 = var1.readInt();
  49.       if (var2 != -1431655766) {
  50.          throw new IOException("magic number mismatch for ExternalizableButton");
  51.       } else {
  52.          int var3 = var1.readInt();
  53.          int var4 = var1.readInt();
  54.          int var5 = var1.readInt();
  55.          int var6 = var1.readInt();
  56.          ((Component)this).setBounds(var3, var4, var5, var6);
  57.          ((OurButton)this).setLabel(var1.readUTF());
  58.          int var7 = var1.readInt();
  59.          if (var7 != 0) {
  60.             ((OurButton)this).setBackground(new Color(var7));
  61.          }
  62.  
  63.          int var8 = var1.readInt();
  64.          if (var8 != 0) {
  65.             ((OurButton)this).setForeground(new Color(var8));
  66.          }
  67.  
  68.          int var9 = var1.readInt();
  69.          if (var9 >= 0) {
  70.             int var10 = var1.readInt();
  71.             String var11 = var1.readUTF();
  72.             Font var12 = new Font(var11, var9, var10);
  73.             ((OurButton)this).setFont(var12);
  74.          }
  75.  
  76.       }
  77.    }
  78. }
  79.